package com.wmx.hb.mapper.provider;

import com.wmx.hb.mapper.Dept2Mapper;
import org.springframework.util.Assert;

import java.util.Map;

/**
 * Mybatis Sql 提供程序
 *
 * @author wangMaoXiong
 * @version 1.0
 * @date 2022/6/26 9:23
 */
public class Dept2SqlProvider {

    /**
     * 为 {@link Dept2Mapper#updateDept2} 方法对应的 @UpdateProvider 提供 Update Sql 语句
     * 1、方法的参数可写可不写，如果写了，则必须与 Mapper 接口方法的参数一致；不写也不影响，因为最终还是得返回到 Mapper 接口方法中.
     * 2、方法必须返回 String 类型的 Sql 语句
     *
     * @param tableName ：被更新的表名
     * @param dept      ：部门信息
     * @return ：返回 Sql 语句
     */
    public String updateDept2(String tableName, Map<String, Object> dept) {
        Assert.hasText(tableName, "被更新的表名不允许为空！");
        Assert.notEmpty(dept, "被更新的数据内容不允许为空！");
        return "UPDATE ${tableName} t SET t.dname=#{dept.dname},t.loc=#{dept.loc} WHERE t.deptno=#{dept.deptno}";
    }

}
